package com.rede.didiok.admin.service;

import java.util.List;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.rede.didiok.admin.entity.LinkEntity;
import com.rede.didiok.common.dto.admin.LinkDto;

/**
 * 友情链接表
 *
 * @author Rede
 * @email didiok@foxmail.com
 * @date 2023-08-07 18:21:17
 */
public interface LinkService extends IService<LinkEntity> {

    /***************************** admin:start **************************/
    // region  didiok-admin

    /**
     * 获取友链列表
     *
     * @param linkDto
     * @return
     */
    IPage<LinkEntity> getPageList(LinkDto linkDto);

    /**
     * 新增友链
     *
     * @param linkDto
     */
    String addLink(LinkDto linkDto);

    /**
     * 编辑友链
     *
     * @param linkDto
     */
    String editLink(LinkDto linkDto);

    /**
     * 删除友链
     *
     * @param linkDto
     */
    String deleteLink(LinkDto linkDto);

    /**
     * 置顶友链
     *
     * @param linkDto
     */
    String stickLink(LinkDto linkDto);

    // endregion
    /***************************** admin:end **************************/



    /***************************** web:start **************************/
    // region didiok-web

    /**
     * 通过页大小获取友链列表
     *
     * @param pageSize
     * @return
     */
    List<LinkEntity> getListByPageSize(Integer pageSize);

    /**
     * 根据用户uid和友链名获取一条连接
     * @param userUid
     * @param title
     * @return
     */
    LinkEntity getLinkByUserUidAndTitle(String userUid, String title);

    /**
     * 保存一条友链
     * @param linkDto
     * @return
     */
    String addOneLink(LinkDto linkDto);
    // endregion
    /***************************** web:end **************************/

    /**
     * 点击友链
     *
     * @return
     */
    String addLinkCount(String uid);

}

